package com.bsoft.gol.hcs.specialist.entity;

import com.fasterxml.jackson.annotation.JsonFormat;

import javax.persistence.*;
import java.util.Date;
import java.util.Objects;

/**
 * @Author:FangZhiyi
 * @Description
 * @Data Created in 2020/7/24 16:29
 * @Moddified By:
 */
@Entity
@Table(name = "follow_up_route_detail_content", schema = "", catalog = "")
public class FollowUpRouteDetailContent {
    private Long routeDetailContentId;
    private String organizationId;
    private Long routeId;
    private Long routeDetailId;
    private Byte indexType;
    private String indexClassifyId;
    private String indexClassifyName;
    private String businessId;
    private String businessName;
    private String projectDetails;
    private String followUpDetail;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh_CN", timezone = "GMT+8")
    private Date gmtCreate;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh_CN", timezone = "GMT+8")
    private Date gmtModified;

    @Id
    @Column(name = "route_detail_content_id")
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    public Long getRouteDetailContentId() {
        return routeDetailContentId;
    }

    public void setRouteDetailContentId(Long routeDetailContentId) {
        this.routeDetailContentId = routeDetailContentId;
    }

    @Basic
    @Column(name = "organization_id")
    public String getOrganizationId() {
        return organizationId;
    }

    public void setOrganizationId(String organizationId) {
        this.organizationId = organizationId;
    }

    @Basic
    @Column(name = "route_id")
    public Long getRouteId() {
        return routeId;
    }

    public void setRouteId(Long routeId) {
        this.routeId = routeId;
    }

    @Basic
    @Column(name = "route_detail_id")
    public Long getRouteDetailId() {
        return routeDetailId;
    }

    public void setRouteDetailId(Long routeDetailId) {
        this.routeDetailId = routeDetailId;
    }

    @Basic
    @Column(name = "index_type")
    public Byte getIndexType() {
        return indexType;
    }

    public void setIndexType(Byte indexType) {
        this.indexType = indexType;
    }

    @Basic
    @Column(name = "index_classify_id")
    public String getIndexClassifyId() {
        return indexClassifyId;
    }

    public void setIndexClassifyId(String indexClassifyId) {
        this.indexClassifyId = indexClassifyId;
    }

    @Basic
    @Column(name = "index_classify_name")
    public String getIndexClassifyName() {
        return indexClassifyName;
    }

    public void setIndexClassifyName(String indexClassifyName) {
        this.indexClassifyName = indexClassifyName;
    }

    @Basic
    @Column(name = "business_id")
    public String getBusinessId() {
        return businessId;
    }

    public void setBusinessId(String businessId) {
        this.businessId = businessId;
    }

    @Basic
    @Column(name = "business_name")
    public String getBusinessName() {
        return businessName;
    }

    public void setBusinessName(String businessName) {
        this.businessName = businessName;
    }

    @Basic
    @Column(name = "project_details")
    public String getProjectDetails() {
        return projectDetails;
    }

    public void setProjectDetails(String projectDetails) {
        this.projectDetails = projectDetails;
    }

    @Basic
    @Column(name = "follow_up_detail")
    public String getFollowUpDetail() {
        return followUpDetail;
    }

    public void setFollowUpDetail(String followUpDetail) {
        this.followUpDetail = followUpDetail;
    }

    @Basic
    @Column(name = "gmt_create")
    public Date getGmtCreate() {
        return gmtCreate;
    }

    public void setGmtCreate(Date gmtCreate) {
        this.gmtCreate = gmtCreate;
    }

    @Basic
    @Column(name = "gmt_modified")
    public Date getGmtModified() {
        return gmtModified;
    }

    public void setGmtModified(Date gmtModified) {
        this.gmtModified = gmtModified;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) {return true;}
        if (o == null || getClass() != o.getClass()) {return false;}
        FollowUpRouteDetailContent that = (FollowUpRouteDetailContent) o;
        return Objects.equals(routeDetailContentId, that.routeDetailContentId) &&
                Objects.equals(organizationId, that.organizationId) &&
                Objects.equals(routeId, that.routeId) &&
                Objects.equals(routeDetailId, that.routeDetailId) &&
                Objects.equals(indexType, that.indexType) &&
                Objects.equals(indexClassifyId, that.indexClassifyId) &&
                Objects.equals(indexClassifyName, that.indexClassifyName) &&
                Objects.equals(businessId, that.businessId) &&
                Objects.equals(businessName, that.businessName) &&
                Objects.equals(projectDetails, that.projectDetails) &&
                Objects.equals(followUpDetail, that.followUpDetail) &&
                Objects.equals(gmtCreate, that.gmtCreate) &&
                Objects.equals(gmtModified, that.gmtModified);
    }

    @Override
    public int hashCode() {
        return Objects.hash(routeDetailContentId, organizationId, routeId, routeDetailId, indexType, indexClassifyId, indexClassifyName, businessId, businessName, projectDetails, followUpDetail, gmtCreate, gmtModified);
    }
}
